💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    외부 json 불러오기 | ✅저자: 이유정(박사)

    두개의 외부 json파일을 imsomnia로 불러서 잘 불러지는지 테스트 하세요.

    sample_data.json

    {"address": {"building": "1007", "coord": [-73.856077, 40.848447], "street": "Morris Park Ave", "zipcode": "10462"}, "borough": "Bronx", "cuisine": "Bakery", "grades": [{"date": {"$date": 1393804800000}, "grade": "A", "score": 2}, {"date": {"$date": 1378857600000}, "grade": "A", "score": 6}, {"date": {"$date": 1358985600000}, "grade": "A", "score": 10}, {"date": {"$date": 1322006400000}, "grade": "A", "score": 9}, {"date": {"$date": 1299715200000}, "grade": "B", "score": 14}], "name": "Morris Park Bake Shop", "restaurant_id": "30075445"}
    

    test.json

    { "users": [ { "userId": 1, "firstName": "AAAAA", "lastName": "as23", "phoneNumber": "123456", "emailAddress": "AAAAA@test.com", "homepage": "https://amogg.tistory.com/1" }, { "userId": 2, "firstName": "BBBB", "lastName": "h5jdd", "phoneNumber": "123456", "homepage": "https://amogg.tistory.com/2" }, { "userId": 3, "firstName": "CCCCC", "lastName": "2dhbs", "phoneNumber": "33333333", "homepage": "https://amogg.tistory.com/3" }, { "userId": 4, "firstName": "DDDDD", "lastName": "bacasd", "phoneNumber": "222222222", "homepage": "https://amogg.tistory.com/4" }, { "userId": 5, "firstName": "EEEEE", "lastName": "asdfasdf", "phoneNumber": "111111111", "homepage": "https://amogg.tistory.com/5" } ] }
    
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path("admin/", admin.site.urls),
        path('', include('sample.urls')),
    ]
    
    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('sample/', views.get_sample_data),
    ]
    
    import os
    import json
    from django.http import JsonResponse
    from django.conf import settings
    
    def get_sample_data(request):
        file_path = os.path.join(settings.BASE_DIR, 'sample_data.json')  
    
        try:
            with open(file_path, encoding='utf-8') as f:
                data = json.load(f)
            return JsonResponse(data, safe=False)  # 리스트 형태 응답 가능하도록 safe=False
        except FileNotFoundError:
            return JsonResponse({'error': '파일을 찾을 수 없습니다.'}, status=404)
    
    REST_FRAMEWORK = {
        'DEFAULT_RENDERER_CLASSES': [
           'rest_framework.renderers.JSONRenderer',
        ]
    }
    
    INSTALLED_APPS = [
        "yourapp"
    ]
    
    TOP
    preload preload